import Mock from 'mockjs'

export default function Test() {
  return Mock.mock({
    ret: 0,
    data: {
      mtime: '@datetime', //随机生成日期时间
      'score|1-800': 10, //随机生成1-800的数字
      'rank|1-100': 100, //随机生成1-100的数字
      'stars|1-5': 5, //随机生成1-5的数字
      nickname: '@cname', //随机生成中文名字
    },
  })
}

const data = {
  data: function ({ _req }) {
    const { body } = _req
    if (!body.username) {
      return {
        req: body,
        msg: '请输入用户名',
      }
    }
    if (!body.password) {
      return {
        msg: '请输入密码',
      }
    }
    const userList = [
      { name: 'admin', pwd: 'q1w2e3r4' },
      { name: 'superAdmin', pwd: 'Q1w2e3r$' },
      { name: 'guest', pwd: 'aq1sw2e3' },
    ]
    const user = userList.filter(item => item.name === body.username)
    if (!user) {
      return {
        msg: '用户不存在，请检查是否正确输入',
      }
    }
    if (body.password !== user.pwd) {
      return {
        msg: '密码不正确，请检查是否正确输入',
      }
    }
    function getMenus() {
      return user.name === 'admin'
        ? [
            {
              title: '用户管理',
              id: '00101000',
              url: '/user/user',
            },
          ]
        : user.name === 'superAdmin'
        ? [
            {
              title: '用户管理',
              id: '00101000',
              url: '/user/user',
            },
          ]
        : [
            {
              title: '商品管理',
              id: '00101010',
              url: '/goods/goods',
            },
          ]
    }
    function getToken() {
      return ''
    }
    return {
      name: body.username,
      msg: '登陆成功，您可以继续进行考试了，要注意token的管理哦',
      menus: getMenus(),
      token: getToken(),
    }
  },
  status: 0,
  msg: 'success',
}

function add() {
  let count = 10
  return function (...args) {
    let result = [...args].reduce((prev, next) => {
      return prev + next
    }, count)
    return function (last) {
      console.log(result + last)
    }
  }
}

const add1 = add()
const add2 = add1(1, 2, 3, 4, 5)
const add3 = add2(6)
